#ifndef FRAGMENT_H
#define FRAGMENT_H

#include <string>
#include <vector>
#include "source.h"

class Fragment {
	public:
		Fragment(std::string md5);
		const std::string &get_md5() const;
		const std::vector<const Source *> &get_sources() const;
		void add_source(const Source *source);
		void remove_source(const Source *source);
	private:
		std::string md5;
		std::vector<const Source *> sources;
		// No permitimos operadores de copia o asignacion para esta clase.
		Fragment(const Fragment &ic);
		Fragment &operator=(const Fragment &ic);
};

#endif
